package hmErrors

// Error 类
type Error struct {
	Msg string `json:"msg"`
}

// err 接口
func (e *Error) Error() string {
	return e.Msg
}

// ErrSystem 系统级错误 返回
func ErrSystem(msg string) *Error {
	return &Error{Msg: msg + " " + "请联系管理人员处理"}
}

// ErrMsg 正常错误
func ErrMsg(msg string) *Error {
	return &Error{Msg: msg}
}

// NewError 正常错误
func NewError(msg string) *Error {
	return &Error{Msg: msg}
}

// ErrOther 非系统级错误
func ErrOther(msg string) *Error {
	return &Error{Msg: msg + " " + "非系统级错误,可以正常运行"}
}

// 自定义错误信息

var SmsErr = NewError("验证码有误，请按短信填写!")
var SmsOutOfGaugeErr = NewError("今日验证码次数已用完,请等零点刷新.")
var LoginPwdErr = NewError("账号或密码错误")
var UserNoFindErr = NewError("用户不存在,请先注册")
var UserExistErr = NewError("邮箱或手机号已经存在,不可再次注册!")
var PwdOutOfGaugeErr = NewError("重试次数达到上线,请等到凌晨刷新.")
var FileTypeErr = NewError("只允许上传图片文件.")
var FileSizeErr = NewError("文件大小不能超过5MB.")
var FileNameErr = NewError("文件名不合法.")
var NotLoginErr = NewError("未登录,请先登录.")

// ==========================================系统内部异常=========================================
var SystemErr = NewError("服务器开小差了,请稍后重试.")
var SystemTypeErr = NewError("服务内部错误,类型断言失败.")
var SystemTimeOutErr = NewError("服务内部错误,网络超时请稍后重试.")
var SystemFileOpenErr = NewError("服务内部错误,文件打开错误.")
var UnknowDataErr = NewError("服务内部错误,未知数据类型错误.")
var DecryptPwdErr = NewError("服务内部错误,解密服务异常.")
var EncryptPwdErr = NewError("服务内部错误,加密服务异常.")
var MkdirFileErr = NewError("服务内部错误,文件创建文件失败.")
var SaveFleErr = NewError("服务内部错误,文件保存失败.")
